home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-12-20 | 60.3 KB | 1,237 lines |
-
-
-
-
-
-
- The Hitchhikers Guide to the Internet
- 25 August 1987
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 1 -
-
-
-
-
-
- - 2 -
-
-
- Ed Krol
- krol@uxc.cso.uiuc.edu
- This document was produced through funding of the National Sci-
- ence Foundation. Copyright (C) 1987, by the Board of Trustees of
- The University of Illinois. Permission to duplicate this docu-
- ment, in whole or part, is granted provided reference is made to
- the source and this copyright is included in whole copies. _P_u_r_-
- _p_o_s_e _a_n_d _A_u_d_i_e_n_c_e
-
-
-
- This document assumes that one is familiar with the workings
- of a non-connected simple IP network (e.g. a few 4.2 BSD
- systems on an Ethernet not connected to anywhere else). Ap-
- pendix A contains remedial information to get one to this
- point. Its purpose is to get that person, familiar with a
- simple net, versed in the of the Internet to the point that
- that net can be connected to the Internet with little danger
- to either. It is not a tutorial, it consists of pointers to
- other places, literature, and hints which are not normally
- documented. Since the Internet is a dynamic environment,
- changes to this document will be made regularly. The author
- welcomes comments and suggestions. This is especially true
- of terms for the glossary (definitions are not necessary).
- _W_h_a_t _i_s _t_h_e _I_n_t_e_r_n_e_t?
-
- In the beginning there was the ARPAnet, a wide area experi-
- mental network connecting hosts and terminal servers togeth-
- er. Procedures were set up to regulate the allocation of
- addresses and to create voluntary standards for the network.
- As local area networks became more pervasive, many hosts be-
- came gateways to local networks. A network layer to allow
- the interoperation of these networks was developed and
- called IP (Internet Protocol). Over time other groups
- created long haul IP based networks (NASA, NSF, states...).
- These nets, too, inter-operate because of IP. The collec-
- tion of all of these interoperating networks is the Inter-
- net.
-
- Two groups do much of the research and information work of
- the Internet (ISI and SRI). ISI (the Informational Sciences
- Institute) does much of the research, standardization, and
- allocation work of the Internet. SRI International provides
- information services for the Internet. In fact, after you
- are connected to the Internet most of the information in
- this document can be retrieved from the Network Information
- Center (NIC) run by SRI. _O_p_e_r_a_t_i_n_g _t_h_e _I_n_t_e_r_n_e_t
-
- Each network, be it the ARPAnet, NSFnet or a regional net-
- work, has its own operations center. The ARPAnet is run by
- BBN, Inc. under contract from DARPA. Their facility is
- called the Network Operations Center or NOC. Cornell
- University temporarily operates NSFnet (called the Network
- Information Service Center, NISC). It goes on to the
-
-
- October 22, 1992
-
-
-
-
-
- - 3 -
-
-
- regionals having similar facilities to monitor and keep
- watch over the goings on of their portion of the Internet.
- In addition, they all should have some knowledge of what is
- happening to the Internet in total. If a problem comes up,
- it is suggested that a campus network liaison should contact
- the network operator to which he is directly connected. That
- is, if you are connected to a regional network (which is
- gatewayed to the NSFnet, which is connected to the AR-
- PAnet...) and have a problem, you should contact your re-
- gional network operations center. _R_F_C_s
-
- The internal workings of the Internet are defined by a set
- of documents called RFCs (Request for Comments). The gen-
- eral process for creating an RFC is for someone wanting
- something formalized to write a document describing the is-
- sue and mailing it to Jon Postel (postel@isi.edu). He acts
- as a referee for the proposal. It is then commented upon by
- all those wishing to take part in the discussion (electroni-
- cally of course). It may go through multiple revisions.
- Should it be generally accepted as a good idea, it will be
- assigned a number and filed with the RFCs.
-
- The RFCs can be divided into five groups: required, suggest-
- ed, directional, informational and obsolete. Required RFC's
- (e.g. RFC-791, The Internet Protocol) must be implemented on
- any host connected to the Internet. Suggested RFCs are gen-
- erally implemented by network hosts. Lack of them does not
- preclude access to the Internet, but may impact its usabili-
- ty. RFC-793 (Transmission Control Protocol) is a suggested
- RFC. Directional RFCs were discussed and agreed to, but
- their application has never come into wide use. This may be
- due to the lack of wide need for the specific application
- (RFC-937 The Post Office Protocol) or that, although techni-
- cally superior, ran against other pervasive approaches
- (RFC-891 Hello). It is suggested that should the facility
- be required by a particular site, an implementation be done
- in accordance with the RFC. This insures that, should the
- idea be one whose time has come, the implementation will be
- in accordance with some standard and will be generally us-
- able. Informational RFCs contain factual information about
- the Internet and its operation (RFC-990, Assigned Numbers).
- Finally, as the Internet and technology have grown, some
- RFCs have become unnecessary. These obsolete RFCs cannot be
- ignored, however. Frequently when a change is made to some
- RFC that causes a new one to be issued obsoleting others,
- the new RFC only contains explanations and motivations for
- the change. Understanding the model on which the whole fa-
- cility is based may involve reading the original and subse-
- quent RFCs on the topic. (Appendix B contains a list of
- what are considered to be the major RFCs necessary for
- understanding the Internet). _T_h_e _N_e_t_w_o_r_k _I_n_f_o_r_m_a_t_i_o_n _C_e_n_t_e_r
-
- The NIC is a facility available to all Internet users which
- provides information to the community. There are three
-
-
- October 22, 1992
-
-
-
-
-
- - 4 -
-
-
- means of NIC contact: network, telephone, and mail. The
- network accesses are the most prevalent. Interactive access
- is frequently used to do queries of NIC service overviews,
- look up user and host names, and scan lists of NIC docu-
- ments. It is available by using
- %telnet sri-nic.arpa
- on a BSD system and following the directions provided by a user
- friendly prompter. >From poking around in the databases provided
- one might decide that a document named NETINFO:NUG.DOC (The Users
- Guide to the ARPAnet) would be worth having. It could be re-
- trieved via an anonymous FTP. An anonymous FTP would proceed
- something like the following. (The dialogue may vary slightly
- depending on the implementation of FTP you are using).
- %ftp sri-nic.arpa
- Connected to sri-nic.arpa.
- 220 SRI_NIC.ARPA FTP Server Process 5Z(47)-6 at Wed 17-Jun-87 12:00 PDT
- Name (sri-nic.arpa:myname): anonymous
- 331 ANONYMOUS user ok, send real ident as password.
- Password: myname
- 230 User ANONYMOUS logged in at Wed 17-Jun-87 12:01 PDT, job 15.
- ftp> get netinfo:nug.doc
- 200 Port 18.144 at host 128.174.5.50 accepted.
- 150 ASCII retrieve of <NETINFO>NUG.DOC.11 started.
- 226 Transfer Completed 157675 (8) bytes transferred
- local: netinfo:nug.doc remote:netinfo:nug.doc
- 157675 bytes in 4.5e+02 seconds (0.34 Kbytes/s)
- ftp> quit
- 221 QUIT command received. Goodbye.
- (Another good initial document to fetch is NETINFO:WHAT-THE-NIC-
- DOES.TXT)!
-
- Questions of the NIC or problems with services can be asked
- of or reported to using electronic mail. The following ad-
- dresses can be used:
- NIC@SRI-NIC.ARPA General user assistance, document requests
- REGISTRAR@SRI-NIC.ARPA User registration and WHOIS updates
- HOSTMASTER@SRI-NIC.ARPA Hostname and domain changes and updates
- ACTION@SRI-NIC.ARPA SRI-NIC computer operations
- SUGGESTIONS@SRI-NIC.ARPA Comments on NIC publications and services
-
- For people without network access, or if the number of docu-
- ments is large, many of the NIC documents are available in
- printed form for a small charge. One frequently ordered do-
- cument for starting sites is a compendium of major RFCs.
- Telephone access is used primarily for questions or problems
- with network access. (See appendix B for mail/telephone
- contact numbers). _T_h_e _N_S_F_n_e_t _N_e_t_w_o_r_k _S_e_r_v_i_c_e _C_e_n_t_e_r
-
- The NSFnet Network Service Center (NNSC) is funded by NSF to
- provide a first level of aid to users of NSFnet should they
- have questions or encounter problems traversing the network.
- It is run by BBN Inc. Karen Roubicek
- (roubicek@nnsc.nsf.net) is the NNSC user liaison.
-
-
-
- October 22, 1992
-
-
-
-
-
- - 5 -
-
-
- The NNSC, which currently has information and documents on-
- line and in printed form, plans to distribute news through
- network mailing lists, bulletins, newsletters, and online
- reports. The NNSC also maintains a database of contact
- points and sources of additional information about NSFnet
- component networks and supercomputer centers.
-
- Prospective or current users who do not know whom to call
- concerning questions about NSFnet use, should contact the
- NNSC. The NNSC will answer general questions, and, for de-
- tailed information relating to specific components of the
- Internet, will help users find the appropriate contact for
- further assistance. (Appendix B) _M_a_i_l _R_e_f_l_e_c_t_o_r_s
-
- The way most people keep up to date on network news is
- through subscription to a number of mail reflectors. Mail
- reflectors are special electronic mailboxes which, when they
- receive a message, resend it to a list of other mailboxes.
- This in effect creates a discussion group on a particular
- topic. Each subscriber sees all the mail forwarded by the
- reflector, and if one wants to put his in sends a message
- with the comments to the reflector....
-
- The general format to subscribe to a mail list is to find
- the address reflector and append the string -REQUEST to the
- mailbox name (not the host name). For example, if you want-
- ed to take part in the mailing list for NSFnet reflected by
- NSFNET@NNSC.NSF.NET, one sends a request to
- NSFNET-REQUEST@NNSC.NSF.NET. This may be a wonderful
- scheme, but the problem is that you must know the list ex-
- ists in the first place. It is suggested that, if you are
- interested, you read the mail from one list (like NSFNET)
- and you will probably become familiar with the existence of
- others. A registration service for mail reflectors is pro-
- vided by the NIC in the files NETINFO:INTEREST-GROUPS-1.TXT,
- NETINFO:INTEREST-GROUPS-2.TXT, and NETINFO:INTEREST-GROUPS-
- 3.TXT.
-
- The NSFNET mail reflector is targeted at those people who
- have a day to day interest in the news of the NSFnet (the
- backbone, regional network, and Internet inter-connection
- site workers). The messages are reflected by a central lo-
- cation and are sent as separate messages to each subscriber.
- This creates hundreds of messages on the wide area networks
- where bandwidth is the scarcest.
-
- There are two ways in which a campus could spread the news
- and not cause these messages to inundate the wide area net-
- works. One is to re-reflect the message on the campus.
- That is, set up a reflector on a local machine which for-
- wards the message to a campus distribution list. The other
- is to create an alias on a campus machine which places the
- messages into a notesfile on the topic. Campus users who
- want the information could access the notesfile and see the
-
-
- October 22, 1992
-
-
-
-
-
- - 6 -
-
-
- messages that have been sent since their last access. One
- might also elect to have the campus wide area network liais-
- on screen the messages in either case and only forward those
- which are considered of merit. Either of these schemes al-
- lows one message to be sent to the campus, while allowing
- wide distribution within. _A_d_d_r_e_s_s _A_l_l_o_c_a_t_i_o_n
-
- Before a local network can be connected to the Internet it
- must be allocated a unique IP address. These addresses are
- allocated by ISI. The allocation process consists of get-
- ting an application form received from ISI. (Send a message
- to hostmaster@sri-nic.arpa and ask for the template for a
- connected address). This template is filled out and mailed
- back to hostmaster. An address is allocated and e-mailed
- back to you. This can also be done by postal mail (Appendix
- B).
-
- IP addresses are 32 bits long. It is usually written as
- four decimal numbers separated by periods (e.g.,
- 192.17.5.100). Each number is the value of an octet of the
- 32 bits. It was seen from the beginning that some networks
- might choose to organize themselves as very flat (one net
- with a lot of nodes) and some might organize hierarchically
- (many interconnected nets with fewer nodes each and a back-
- bone). To provide for these cases, addresses were differen-
- tiated into class A, B, and C networks. This classification
- had to with the interpretation of the octets. Class A net-
- works have the first octet as a network address and the
- remaining three as a host address on that network. Class C
- addresses have three octets of network address and one of
- host. Class B is split two and two. Therefore, there is an
- address space for a few large nets, a reasonable number of
- medium nets and a large number of small nets. The top two
- bits in the first octet are coded to tell the address for-
- mat. All of the class A nets have been allocated. So one
- has to choose between Class B and Class C when placing an
- order. (There are also class D (Multicast) and E (Experi-
- mental) formats. Multicast addresses will likely come into
- greater use in the near future, but are not frequently used
- now).
-
- In the past sites requiring multiple network addresses re-
- quested multiple discrete addresses (usually Class C). This
- was done because much of the software available (notably
- 4.2BSD) could not deal with subnetted addresses. Informa-
- tion on how to reach a particular network (routing informa-
- tion) must be stored in Internet gateways and packet
- switches. Some of these nodes have a limited capability to
- store and exchange routing information (limited to about 300
- networks). Therefore, it is suggested that any campus an-
- nounce (make known to the Internet) no more than two
- discrete network numbers.
-
-
-
-
- October 22, 1992
-
-
-
-
-
- - 7 -
-
-
- If a campus expects to be constrained by this, it should
- consider subnetting. Subnetting (RFC-932) allows one to an-
- nounce one address to the Internet and use a set of ad-
- dresses on the campus. Basically, one defines a mask which
- allows the network to differentiate between the network por-
- tion and host portion of the address. By using a different
- mask on the Internet and the campus, the address can be in-
- terpreted in multiple ways. For example, if a campus re-
- quires two networks internally and has the 32,000 addresses
- beginning 128.174.X.X (a Class B address) allocated to it,
- the campus could allocate 128.174.5.X to one part of campus
- and 128.174.10.X to another. By advertising 128.174 to the
- Internet with a subnet mask of FF.FF.00.00, the Internet
- would treat these two addresses as one. Within the campus a
- mask of FF.FF.FF.00 would be used, allowing the campus to
- treat the addresses as separate entities. (In reality you
- don't pass the subnet mask of FF.FF.00.00 to the Internet,
- the octet meaning is implicit in its being a class B ad-
- dress).
-
- A word of warning is necessary. Not all systems know how to
- do subnetting. Some 4.2BSD systems require additional
- software. 4.3BSD systems subnet as released. Other devices
- and operating systems vary in the problems they have dealing
- with subnets. Frequently these machines can be used as a
- leaf on a network but not as a gateway within the subnetted
- portion of the network. As time passes and more systems be-
- come 4.3BSD based, these problems should disappear.
-
- There has been some confusion in the past over the format of
- an IP broadcast address. Some machines used an address of
- all zeros to mean broadcast and some all ones. This was
- confusing when machines of both type were connected to the
- same network. The broadcast address of all ones has been
- adopted to end the grief. Some systems (e.g. 4.2 BSD) allow
- one to choose the format of the broadcast address. If a
- system does allow this choice, care should be taken that the
- all ones format is chosen. (This is explained in RFC-1009
- and RFC-1010). _I_n_t_e_r_n_e_t _P_r_o_b_l_e_m_s
-
- There are a number of problems with the Internet. Solutions
- to the problems range from software changes to long term
- research projects. Some of the major ones are detailed
- below: Number of Networks
-
-
- When the Internet was designed it was to have about 50 con-
- nected networks. With the explosion of networking, the
- number is now approaching 300. The software in a group of
- critical gateways (called the core gateways of the ARPAnet)
- are not able to pass or store much more than that number.
- In the short term, core reallocation and recoding has raised
- the number slightly. By the summer of '88 the current PDP-
- 11 core gateways will be replaced with BBN Butterfly
-
-
- October 22, 1992
-
-
-
-
-
- - 8 -
-
-
- gateways which will solve the problem.
- Routing Issues
-
-
- Along with sheer mass of the data necessary to route packets
- to a large number of networks, there are many problems with
- the updating, stability, and optimality of the routing algo-
- rithms. Much research is being done in the area, but the
- optimal solution to these routing problems is still years
- away. In most cases the the routing we have today works,
- but sub-optimally and sometimes unpredictably.
- Trust Issues
-
-
- Gateways exchange network routing information. Currently,
- most gateways accept on faith that the information provided
- about the state of the network is correct. In the past this
- was not a big problem since most of the gateways belonged to
- a single administrative entity (DARPA). Now with multiple
- wide area networks under different administrations, a rogue
- gateway somewhere in the net could cripple the Internet.
- There is design work going on to solve both the problem of a
- gateway doing unreasonable things and providing enough in-
- formation to reasonably route data between multiply connect-
- ed networks (multi-homed networks).
- Capacity & Congestion
-
-
- Many portions of the ARPAnet are very congested during the
- busy part of the day. Additional links are planned to al-
- leviate this congestion, but the implementation will take a
- few months.
-
- These problems and the future direction of the Internet are
- determined by the Internet Architect (Dave Clark of MIT) be-
- ing advised by the Internet Activities Board (IAB). This
- board is composed of chairmen of a number of committees with
- responsibility for various specialized areas of the Inter-
- net. The committees composing the IAB and their chairmen
- are:
- _C_o_m_m_i_t_t_e_e _C_h_a_i_r
- Autonomous Networks Deborah Estrin
- End-to-End Services Bob Braden
- Internet Architecture Dave Mills
- Internet Engineering Phil Gross
- EGP2 Mike Petry
- Name Domain Planning Doug Kingston
- Gateway Monitoring Craig Partridge
- Internic Jake Feinler
- Performance & Congestion ControlRobert Stine
- NSF Routing Chuck Hedrick
- Misc. MilSup Issues Mike St. Johns
- Privacy Steve Kent
- IRINET Requirements Vint Cerf
-
-
- October 22, 1992
-
-
-
-
-
- - 9 -
-
-
- Robustness & Survivability Jim Mathis
- Scientific Requirements Barry Leiner
- Note that under Internet Engineering, there are a set of task
- forces and chairs to look at short term concerns. The chairs of
- these task forces are not part of the IAB. _R_o_u_t_i_n_g
-
- Routing is the algorithm by which a network directs a packet
- from its source to its destination. To appreciate the prob-
- lem, watch a small child trying to find a table in a restau-
- rant. >From the adult point of view the structure of the
- dining room is seen and an optimal route easily chosen. The
- child, however, is presented with a set of paths between
- tables where a good path, let alone the optimal one to the
- goal is not discernible.
-
- A little more background might be appropriate. IP gateways
- (more correctly routers) are boxes which have connections to
- multiple networks and pass traffic between these nets.
- They decide how the packet is to be sent based on the infor-
- mation in the IP header of the packet and the state of the
- network. Each interface on a router has an unique address
- appropriate to the network to which it is connected. The
- information in the IP header which is used is primarily the
- destination address. Other information (e.g. type of ser-
- vice) is largely ignored at this time. The state of the
- network is determined by the routers passing information
- among themselves. The distribution of the database (what
- each node knows), the form of the updates, and metrics used
- to measure the value of a connection, are the parameters
- which determine the characteristics of a routing protocol.
-
- Under some algorithms each node in the network has complete
- knowledge of the state of the network (the adult algorithm).
- This implies the nodes must have larger amounts of local
- storage and enough CPU to search the large tables in a short
- enough time (remember this must be done for each packet).
- Also, routing updates usually contain only changes to the
- existing information (or you spend a large amount of the
- network capacity passing around megabyte routing updates).
- This type of algorithm has several problems. Since the only
- way the routing information can be passed around is across
- the network and the propagation time is non-trivial, the
- view of the network at each node is a correct historical
- view of the network at varying times in the past. (The
- adult algorithm, but rather than looking directly at the
- dining area, looking at a photograph of the dining room.
- One is likely to pick the optimal route and find a bus-cart
- has moved in to block the path after the photo was taken).
- These inconsistencies can cause circular routes (called
- routing loops) where once a packet enters it is routed in a
- closed path until its time to live (TTL) field expires and
- it is discarded.
-
-
-
-
- October 22, 1992
-
-
-
-
-
- - 10 -
-
-
- Other algorithms may know about only a subset of the net-
- work. To prevent loops in these protocols, they are usually
- used in a hierarchical network. They know completely about
- their own area, but to leave that area they go to one par-
- ticular place (the default gateway). Typically these are
- used in smaller networks (campus, regional...). Routing
- protocols in current use: Static (no protocol-table/default
- routing)
-
-
- Don't laugh. It is probably the most reliable, easiest to
- implement, and least likely to get one into trouble for a
- small network or a leaf on the Internet. This is, also, the
- only method available on some CPU-operating system combina-
- tions. If a host is connected to an Ethernet which has only
- one gateway off of it, one should make that the default
- gateway for the host and do no other routing. (Of course
- that gateway may pass the reachablity information somehow on
- the other side of itself).
-
-
- One word of warning, it is only with extreme caution that
- one should use static routes in the middle of a network
- which is also using dynamic routing. The routers passing
- dynamic information are sometimes confused by conflicting
- dynamic and static routes. If your host is on an ethernet
- with multiple routers to other networks on it and the
- routers are doing dynamic routing among themselves, it is
- usually better to take part in the dynamic routing than to
- use static routes.
- RIP
-
-
- RIP is a routing protocol based on XNS (Xerox Network Sys-
- tem) adapted for IP networks. It is used by many routers
- (Proteon, cisco, UB...) and many BSD Unix systems. BSD sys-
- tems typically run a program called _r_o_u_t_e_d to exchange in-
- formation with other systems running RIP. RIP works best
- for nets of small diameter where the links are of equal
- speed. The reason for this is that the metric used to
- determine which path is best is the hop-count. A hop is a
- traversal across a gateway. So, all machines on the same
- Ethernet are zero hops away. If a router connects connects
- two networks directly, a machine on the other side of the
- router is one hop away.... As the routing information is
- passed through a gateway, the gateway adds one to the hop
- counts to keep them consistent across the network. The di-
- ameter of a network is defined as the largest hop-count pos-
- sible within a network. Unfortunately, a hop count of 16 is
- defined as infinity in RIP meaning the link is down. There-
- fore, RIP will not allow hosts separated by more than 15
- gateways in the RIP space to communicate.
-
-
-
-
- October 22, 1992
-
-
-
-
-
- - 11 -
-
-
- The other problem with hop-count metrics is that if links
- have different speeds, that difference is not reflected in
- the hop-count. So a one hop satellite link (with a .5 sec
- delay) at 56kb would be used instead of a two hop T1 connec-
- tion. Congestion can be viewed as a decrease in the efficacy
- of a link. So, as a link gets more congested, RIP will still
- know it is the best hop-count route and congest it even more
- by throwing more packets on the queue for that link.
-
-
- The protocol is not well documented. A group of people are
- working on producing an RFC to both define the current RIP
- and to do some extensions to it to allow it to better cope
- with larger networks. Currently, the best documentation for
- RIP appears to be the code to BSD _r_o_u_t_e_d.
- Routed
-
-
- The _r_o_u_t_e_d program, which does RIP for 4.2BSD systems, has
- many options. One of the most frequently used is: _r_o_u_t_e_d -_q
- (quiet mode) which means listen to RIP information but never
- broadcast it. This would be used by a machine on a network
- with multiple RIP speaking gateways. It allows the host to
- determine which gateway is best (hopwise) to use to reach a
- distant network. (Of course you might want to have a de-
- fault gateway to prevent having to pass all the addresses
- known to the Internet around with RIP).
-
-
- There are two ways to insert static routes into _r_o_u_t_e_d, the
- /_e_t_c/_g_a_t_e_w_a_y_s file and the _r_o_u_t_e _a_d_d command. Static routes
- are useful if you know how to reach a distant network, but
- you are not receiving that route using RIP. For the most
- part the _r_o_u_t_e _a_d_d command is preferable to use. The reason
- for this is that the command adds the route to that
- machine's routing table but does not export it through RIP.
- The /_e_t_c/_g_a_t_e_w_a_y_s file takes precedence over any routing in-
- formation received through a RIP update. It is also broad-
- cast as fact in RIP updates produced by the host without
- question, so if a mistake is made in the /_e_t_c/_g_a_t_e_w_a_y_s file,
- that mistake will soon permeate the RIP space and may bring
- the network to its knees.
-
-
- One of the problems with _r_o_u_t_e_d is that you have very little
- control over what gets broadcast and what doesn't. Many
- times in larger networks where various parts of the network
- are under different administrative controls, you would like
- to pass on through RIP only nets which you receive from RIP
- and you know are reasonable. This prevents people from ad-
- ding IP addresses to the network which may be illegal and
- you being responsible for passing them on to the Internet.
- This type of reasonability checks are not available with
-
-
- October 22, 1992
-
-
-
-
-
- - 12 -
-
-
- _r_o_u_t_e_d and leave it usable, but inadequate for large net-
- works.
- Hello (RFC-891)
-
-
- Hello is a routing protocol which was designed and imple-
- mented in a experimental software router called a which runs
- on a PDP-11. It does not have wide usage, but is the routing
- protocol currently used on the NSFnet backbone. The data
- transferred between nodes is similar to RIP (a list of net-
- works and their metrics). The metric, however, is mil-
- liseconds of delay. This allows Hello to be used over nets
- of various link speeds and performs better in congestive si-
- tuations. One of the most interesting side effects of Hello
- based networks is their great timekeeping ability. If you
- consider the problem of measuring delay on a link for the
- metric, you find that it is not an easy thing to do. You
- cannot measure round trip time since the return link may be
- more congested, of a different speed, or even not there. It
- is not really feasible for each node on the network to have
- a builtin WWV (nationwide radio time standard) receiver.
- So, you must design an algorithm to pass around time between
- nodes over the network links where the delay in transmission
- can only be approximated. Hello routers do this and in a
- nationwide network maintain synchronized time within mil-
- liseconds.
- Exterior Gateway Protocol (EGP RFC-904)
-
-
- EGP is not strictly a routing protocol, it is a reachability
- protocol. It tells only if nets can be reached through a
- particular gateway, not how good the connection is. It is
- the standard by which gateways to local nets inform the AR-
- PAnet of the nets they can reach. There is a metric passed
- around by EGP but its usage is not standardized formally.
- Its typical value is value is 1 to 8 which are arbitrary
- goodness of link values understood by the internal DDN gate-
- ways. The smaller the value the better and a value of 8 be-
- ing unreachable. A quirk of the protocol prevents distin-
- guishing between 1 and 2, 3 and 4..., so the usablity of
- this as a metric is as three values and unreachable. Within
- NSFnet the values used are 1, 3, and unreachable. Many
- routers talk EGP so they can be used for ARPAnet gateways.
- Gated
-
-
- So we have regional and campus networks talking RIP among
- themselves, the NSFnet backbone talking Hello, and the DDN
- speaking EGP. How do they interoperate? In the beginning
- there was static routing, assembled into the Fuzzball
- software configured for each site. The problem with doing
- static routing in the middle of the network is that it is
- broadcast to the Internet whether it is usable or not.
- Therefore, if a net becomes unreachable and you try to get
-
-
- October 22, 1992
-
-
-
-
-
- - 13 -
-
-
- there, dynamic routing will immediately issue a net unreach-
- able to you. Under static routing the routers would think
- the net could be reached and would continue trying until the
- application gave up (in 2 or more minutes). Mark Fedor of
- Cornell (fedor@devvax.tn.cornell.edu) attempted to solve
- these problems with a replacement for _r_o_u_t_e_d called _g_a_t_e_d.
-
-
- _G_a_t_e_d talks RIP to RIP speaking hosts, EGP to EGP speakers,
- and Hello to Hello'ers. These speakers frequently all live
- on one Ethernet, but luckily (or unluckily) cannot under-
- stand each others ruminations. In addition, under confi-
- guration file control it can filter the conversion. For ex-
- ample, one can produce a configuration saying announce RIP
- nets via Hello only if they are specified in a list and are
- reachable by way of a RIP broadcast as well. This means
- that if a rogue network appears in your local site's RIP
- space, it won't be passed through to the Hello side of the
- world. There are also configuration options to do static
- routing and name trusted gateways.
-
-
- This may sound like the greatest thing since sliced bread,
- but there is a catch called metric conversion. You have RIP
- measuring in hops, Hello measuring in milliseconds, and EGP
- using arbitrary small numbers. The big questions is how
- many hops to a millisecond, how many milliseconds in the EGP
- number 3.... Also, remember that infinity (unreachability)
- is 16 to RIP, 30000 or so to Hello, and 8 to the DDN with
- EGP. Getting all these metrics to work well together is no
- small feat. If done incorrectly and you translate an RIP of
- 16 into an EGP of 6, everyone in the ARPAnet will still
- think your gateway can reach the unreachable and will send
- every packet in the world your way. For these reasons, Mark
- requests that you consult closely with him when configuring
- and using _g_a_t_e_d.
- _N_a_m_e_s
-
- All routing across the network is done by means of the IP
- address associated with a packet. Since humans find it dif-
- ficult to remember addresses like 128.174.5.50, a symbolic
- name register was set up at the NIC where people would say
- Machines connected to the Internet across the nation would
- connect to the NIC in the middle of the night, check modifi-
- cation dates on the hosts file, and if modified move it to
- their local machine. With the advent of workstations and
- micros, changes to the host file would have to be made
- nightly. It would also be very labor intensive and consume
- a lot of network bandwidth. RFC-882 and a number of others
- describe domain name service, a distributed data base system
- for mapping names into addresses.
-
- We must look a little more closely into what's in a name.
- First, note that an address specifies a particular
-
-
- October 22, 1992
-
-
-
-
-
- - 14 -
-
-
- connection on a specific network. If the machine moves, the
- address changes. Second, a machine can have one or more
- names and one or more network addresses (connections) to
- different networks. Names point to a something which does
- useful work (i.e. the machine) and IP addresses point to an
- interface on that provider. A name is a purely symbolic
- representation of a list of addresses on the network. If a
- machine moves to a different network, the addresses will
- change but the name could remain the same.
-
- Domain names are tree structured names with the root of the
- tree at the right. For example:
- uxc.cso.uiuc.edu
- is a machine called 'uxc' (purely arbitrary), within the
- subdomains method of allocation of the U of I) and 'uiuc'
- (the University of Illinois at Urbana), registered with
- 'edu' (the set of educational institutions).
-
- A simplified model of how a name is resolved is that on the
- user's machine there is a resolver. The resolver knows how
- to contact across the network a root name server. Root
- servers are the base of the tree structured data retrieval
- system. They know who is responsible for handling first
- level domains (e.g. 'edu'). What root servers to use is an
- installation parameter. >From the root server the resolver
- finds out who provides 'edu' service. It contacts the 'edu'
- name server which supplies it with a list of addresses of
- servers for the subdomains (like 'uiuc'). This action is
- repeated with the subdomain servers until the final sub-
- domain returns a list of addresses of interfaces on the host
- in question. The user's machine then has its choice of
- which of these addresses to use for communication.
-
- A group may apply for its own domain name (like 'uiuc'
- above). This is done in a manner similar to the IP address
- allocation. The only requirements are that the requestor
- have two machines reachable from the Internet, which will
- act as name servers for that domain. Those servers could
- also act as servers for subdomains or other servers could be
- designated as such. Note that the servers need not be lo-
- cated in any particular place, as long as they are reachable
- for name resolution. (U of I could ask Michigan State to
- act on its behalf and that would be fine). The biggest
- problem is that someone must do maintenance on the database.
- If the machine is not convenient, that might not be done in
- a timely fashion. The other thing to note is that once the
- domain is allocated to an administrative entity, that entity
- can freely allocate subdomains using what ever manner it
- sees fit.
-
- The Berkeley Internet Name Domain (BIND) Server implements
- the Internet name server for UNIX systems. The name server
- is a distributed data base system that allows clients to
- name resources and to share that information with other
-
-
- October 22, 1992
-
-
-
-
-
- - 15 -
-
-
- network hosts. BIND is integrated with 4.3BSD and is used
- to lookup and store host names, addresses, mail agents, host
- information, and more. It replaces the /_e_t_c/_h_o_s_t_s file for
- host name lookup. BIND is still an evolving program. To
- keep up with reports on operational problems, future design
- decisions, etc, join the BIND mailing list by sending a re-
- quest to _b_i_n_d-_r_e_q_u_e_s_t@_u_c_b_a_r_p_a._B_e_r_k_e_l_e_y._E_D_U. BIND can also
- be obtained via anonymous FTP from ucbarpa.berkley.edu.
-
- There are several advantages in using BIND. One of the most
- important is that it frees a host from relying on /_e_t_c/_h_o_s_t_s
- being up to date and complete. Within the .uiuc.edu domain,
- only a few hosts are included in the host table distributed
- by SRI. The remainder are listed locally within the BIND
- tables on uxc.cso.uiuc.edu (the server machine for most of
- the .uiuc.edu domain). All are equally reachable from any
- other Internet host running BIND.
-
- BIND can also provide mail forwarding information for inte-
- rior hosts not directly reachable from the Internet. These
- hosts can either be on non-advertised networks, or not con-
- nected to a network at all, as in the case of UUCP-reachable
- hosts. More information on BIND is available in the in _U_N_I_X
- _S_y_s_t_e_m _M_a_n_a_g_e_r'_s _M_a_n_u_a_l, 4.3BSD release.
-
- There are a few special domains on the network, like SRI-
- NIC.ARPA. The 'arpa' domain is historical, referring to
- hosts registered in the old hosts database at the NIC.
- There are others of the form NNSC.NSF.NET. These special
- domains are used sparingly and require ample justification.
- They refer to servers under the administrative control of
- the network rather than any single organization. This al-
- lows for the actual server to be moved around the net while
- the user interface to that machine remains constant. That
- is, should BBN relinquish control of the NNSC, the new pro-
- vider would be pointed to by that name.
-
- In actuality, the domain system is a much more general and
- complex system than has been described. Resolvers and some
- servers cache information to allow steps in the resolution
- to be skipped. Information provided by the servers can be
- arbitrary, not merely IP addresses. This allows the system
- to be used both by non-IP networks and for mail, where it
- may be necessary to give information on intermediate mail
- bridges.
- _W_h_a_t'_s _w_r_o_n_g _w_i_t_h _B_e_r_k_e_l_e_y _U_n_i_x
-
- University of California at Berkeley has been funded by DAR-
- PA to modify the Unix system in a number of ways. Included
- in these modifications is support for the Internet proto-
- cols. In earlier versions (e.g. BSD 4.2) there was good
- support for the basic Internet protocols (TCP, IP, SMTP,
- ARP) which allowed it to perform nicely on IP ethernets and
- smaller Internets. There were deficiencies, however, when
-
-
- October 22, 1992
-
-
-
-
-
- - 16 -
-
-
- it was connected to complicated networks. Most of these
- problems have been resolved under the newest release (BSD
- 4.3). Since it is the springboard from which many vendors
- have launched Unix implementations (either by porting the
- existing code or by using it as a model), many implementa-
- tions (e.g. Ultrix) are still based on BSD 4.2. Therefore,
- many implementations still exist with the BSD 4.2 problems.
- As time goes on, when BSD 4.3 trickles through vendors as
- new release, many of the problems will be resolved. Follow-
- ing is a list of some problem scenarios and their handling
- under each of these releases. ICMP redirects
- Under the Internet model, all a system needs to know to get
- anywhere in the Internet is its own address, the address of
- where it wants to go, and how to reach a gateway which knows
- about the Internet. It doesn't have to be the best gateway.
- If the system is on a network with multiple gateways, and a
- host sends a packet for delivery to a gateway which feels
- another directly connected gateway is more appropriate, the
- gateway sends the sender a message. This message is an ICMP
- redirect, which politely says "I'll deliver this message for
- you, but you really ought to use that gateway over there to
- reach this host". BSD 4.2 ignores these messages. This
- creates more stress on the gateways and the local network,
- since for every packet sent, the gateway sends a packet to
- the originator. BSD 4.3 uses the redirect to update its
- routing tables, will use the route until it times out, then
- revert to the use of the route it thinks is should use. The
- whole process then repeats, but it is far better than one
- per packet.
- Trailers
- An application (like FTP) sends a string of octets to TCP
- which breaks it into chunks, and adds a TCP header. TCP then
- sends blocks of data to IP which adds its own headers and
- ships the packets over the network. All this prepending of
- the data with headers causes memory moves in both the send-
- ing and the receiving machines. Someone got the bright idea
- that if packets were long and they stuck the headers on the
- end (they became trailers), the receiving machine could put
- the packet on the beginning of a page boundary and if the
- trailer was OK merely delete it and transfer control of the
- page with no memory moves involved. The problem is that
- trailers were never standardized and most gateways don't
- know to look for the routing information at the end of the
- block. When trailers are used, the machine typically works
- fine on the local network (no gateways involved) and for
- short blocks through gateways (on which trailers aren't
- used). So TELNET and FTP's of very short files work just
- fine and FTP's of long files seem to hang. On BSD 4.2
- trailers are a boot option and one should make sure they are
- off when using the Internet. BSD 4.3 negotiates trailers,
- so it uses them on its local net and doesn't use them when
- going across the network.
- Retransmissions
- TCP fires off blocks to its partner at the far end of the
-
-
- October 22, 1992
-
-
-
-
-
- - 17 -
-
-
- connection. If it doesn't receive an acknowledgement in a
- reasonable amount of time it retransmits the blocks. The
- determination of what is reasonable is done by TCP's re-
- transmission algorithm. There is no correct algorithm but
- some are better than others, where better is measured by the
- number of retransmissions done unnecessarily. BSD 4.2 had a
- retransmission algorithm which retransmitted quickly and
- often. This is exactly what you would want if you had a
- bunch of machines on an ethernet (a low delay network of
- large bandwidth). If you have a network of relatively
- longer delay and scarce bandwidth (e.g. 56kb lines), it
- tends to retransmit too aggressively. Therefore, it makes
- the networks and gateways pass more traffic than is really
- necessary for a given conversation. Retransmission algo-
- rithms do adapt to the delay of the network after a few
- packets, but 4.2's adapts slowly in delay situations. BSD
- 4.3 does a lot better and tries to do the best for both
- worlds. It fires off a few retransmissions really quickly
- assuming it is on a low delay network, and then backs off
- very quickly. It also allows the delay to be about 4
- minutes before it gives up and declares the connection bro-
- ken.
-
-
- Appendix A
- References to Remedial Information
- Quaterman and Hoskins, _C_o_m_m_u_n_i_c_a_t_i_o_n_s _o_f _t_h_e _A_C_M, Vol 29,
- #10, pp. 932-971 (October, 1986). Tannenbaum, Andrew S.,
- _C_o_m_p_u_t_e_r _N_e_t_w_o_r_k_s, Prentice Hall, 1981. Hedrick, Chuck, _I_n_-
- _t_r_o_d_u_c_t_i_o_n _t_o _t_h_e _I_n_t_e_r_n_e_t _P_r_o_t_o_c_o_l_s, Anonymous FTP from
- topaz.rutgers.edu, directory pub/tcp-ip-docs, file tcp-ip-
- intro.doc.
- Appendix B
- List of Major RFCs
- RFC-768 User Datagram Protocol (UDP)
- RFC-791 Internet Protocol (IP)
- RFC-792 Internet Control Message Protocol (ICMP)
- RFC-793 Transmission Control Protocol (TCP)
- RFC-821 Simple Mail Transfer Protocol (SMTP)
- RFC-822 Standard for the Format of ARPA Internet Text Messages
- RFC-854 Telnet Protocol
- RFC-917 * Internet Subnets
- RFC-919 * Broadcasting Internet Datagrams
- RFC-922 * Broadcasting Internet Datagrams in the Presence of Subnets
- RFC-940 * Toward an Internet Standard Scheme for Subnetting
- RFC-947 * Multi-network Broadcasting within the Internet
- RFC-950 * Internet Standard Subnetting Procedure
- RFC-959 File Transfer Protocol (FTP)
- RFC-966 * Host Groups: A Multicast Extension to the Internet Protocol
- RFC-988 * Host Extensions for IP Multicasting
- RFC-997 * Internet Numbers
- RFC-1010 * Assigned Numbers
- RFC-1011 * Official ARPA-Internet Protocols
- RFC's marked with the asterisk (*) are not included in the
-
-
- October 22, 1992
-
-
-
-
-
- - 18 -
-
-
- 1985 DDN Protocol Handbook. Note: This list is a portion of
- a list of RFC's by topic retrieved from the NIC under
- NETINFO:RFC-SETS.TXT (anonymous FTP of course). The follow-
- ing list is not necessary for connection to the Internet,
- but is useful in understanding the domain system, mail sys-
- tem, and gateways:
- RFC-882 Domain Names - Concepts and Facilities
- RFC-883 Domain Names - Implementation
- RFC-973 Domain System Changes and Observations
- RFC-974 Mail Routing and the Domain System
- RFC-1009 Requirements for Internet Gateways
-
- Appendix C
- Contact Points for Network Information
- Network Information Center (NIC)
- DDN Network Information Center
- SRI International, Room EJ291
- 333 Ravenswood Avenue
- Menlo Park, CA 94025
- (800) 235-3155 or (415) 859-3695
- NIC@SRI-NIC.ARPA
- NSF Network Service Center (NNSC)
- NNSC
- BBN Laboratories Inc.
- 10 Moulton St.
- Cambridge, MA 02238
- (617) 497-3400
- NNSC@NNSC.NSF.NET
-
- Glossary
- core gateway The innermost gateways of the ARPAnet. These
- gateways have a total picture of the reachability
- to all networks known to the ARPAnet with EGP.
- They then redistribute reachability information to
- all those gateways speaking EGP. It is from them
- your EGP agent (there is one acting for you some-
- where if you can reach the ARPAnet) finds out it
- can reach all the nets on the ARPAnet. Which is
- then passed to you via Hello, gated, RIP....
- count to infinityThe symptom of a routing problem where routing
- information is passed in a circular manner through
- multiple gateways. Each gateway increments the
- metric appropriately and passes it on. As the
- metric is passed around the loop, it increments to
- ever increasing values til it reaches the maximum
- for the routing protocol being used, which typi-
- cally denotes a link outage.
- hold down When a router discovers a path in the network has
- gone down announcing that that path is down for a
- minimum amount of time (usually at least two
- minutes). This allows for the propagation of the
- routing information across the network and
- prevents the formation of routing loops.
- split horizon When a router (or group of routers working in
-
-
- October 22, 1992
-
-
-
-
-
- - 19 -
-
-
- consort) accept routing information from multiple
- external networks, but do not pass on information
- learned from one external network to any others.
- This is an attempt to prevent bogus routes to a
- network from being propagated because of gossip or
- counting to infinity.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- October 22, 1992
-
-
-
-